package com.tiancheng.trade.settlement.model.settlement;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.tiancheng.trade.settlement.enums.SystemSourceEnum;
import com.tiancheng.trade.settlement.model.base.BaseEntity;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @Auther: Likailun
 * @Date: 10:58 2021/4/25
 * @Description: 收入明细表
 */
@TableName("s_revenue_detail")
@Data
@NoArgsConstructor
public class SRevenueDetail extends BaseEntity implements Serializable {

    /**
     * 订单id
     */
    private String orderId;
    /**
     * 子订单号
     */
    private String subOrderId;
    /**
     * 支付单号
     */
    private String payFlowId;
    /**
     * 业务渠道类型
     */
    private String orderSource;
    /**
     * 商户编码
     */
    private String merchantCode;
    /**
     * 商户名称
     */
    private String merchantName;
    /**
     * 业务系统产品编码
     */
    private String productCode;
    /**
     * 交易中台对应的产品id
     */
    private String productId;
    /**
     * 产品名称
     */
    private String productName;
    /**
     * 产品数量
     */
    private Integer productCount;
    /**
     * 商品成本价(分)
     */
    private Integer productCost;
    /**
     * 子订单应收金额
     */
    private Integer subOrderAmount;
    /**
     * 子订单支付金额
     */
    private Integer payAmount;
    /**
     * 是否有优惠
     */
    private Boolean isCoupon;
    /**
     * 优惠总金额
     */
    private Integer discount;
    /**
     * 组织机构代码
     */
    private String orgCode;
    /**
     * 机构名称
     */
    private String orgName;
    /**
     * 子订单状态
     */
    private String subOrderStatus;
    /**
     * 子订单创建时间
     */
    protected LocalDateTime subOrderCreateDt;
    /**
     * 核销时间
     */
    private LocalDateTime verificationTime;

    private Integer revenueStatus;
    /**
     * 收入确认类型
     */
    private String revenueType;
    /**
     * 平台收入金额
     *
     */
    @JsonProperty("platform_revenue_amount")
    private Integer platformRevenueAmount;
    /**
     * 平台收入比例
     *
     */
    @JsonProperty("platform_revenue_scale")
    private BigDecimal platformRevenueScale;

    /**
     * 收入金额（分）
     */
    private Integer revenueAmount;
    /**
     * 业务系统来源
     *  @see SystemSourceEnum
     */
    private String systemSource;



}
